#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), 'backend'))

from backend.clouds_sdk.cloud_factory import CloudFactory

def test_cloud_client():
    print("[DEBUG] 开始测试云盘客户端创建...")
    
    try:
        # 测试创建天翼云盘客户端
        print("[DEBUG] 创建天翼云盘客户端...")
        client = CloudFactory.create_client(
            cloud_type="tianyi",
            account_id=3,
            username="test@189.cn",
            password="test123456"
        )
        
        if client:
            print("[DEBUG] 客户端创建成功")
            print(f"[DEBUG] 客户端类型: {type(client)}")
            
            # 测试登录状态检查
            print("[DEBUG] 检查登录状态...")
            is_logged_in = client.check_login_status()
            print(f"[DEBUG] 登录状态: {is_logged_in}")
            
            # 如果未登录，尝试登录
            if not is_logged_in:
                print("[DEBUG] 尝试登录...")
                login_result = client.login()
                print(f"[DEBUG] 登录结果: {login_result}")
                
                if login_result:
                    print("[DEBUG] 登录成功，获取用户信息...")
                    user_info = client.get_user_info()
                    print(f"[DEBUG] 用户信息: {user_info}")
                else:
                    print("[DEBUG] 登录失败")
            else:
                print("[DEBUG] 已登录，获取用户信息...")
                user_info = client.get_user_info()
                print(f"[DEBUG] 用户信息: {user_info}")
        else:
            print("[DEBUG] 客户端创建失败")
            
    except Exception as e:
        print(f"[DEBUG] 测试过程中发生错误: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    test_cloud_client()